package main

import (
	_ "beegoProject03/models/user"
	_ "beegoProject03/routers"
	"beegoProject03/utils"
	"fmt"
	"github.com/astaxie/beego"
	"github.com/astaxie/beego/orm"
	_ "github.com/go-sql-driver/mysql"
)

/*
9.17【首页模块】前端页面完善
	1. 定义 home_controller.go - Get
	2. 路由
	3. 拷贝index.html ，修改/static引入 277H，
    4. 定义欢迎页方法  home_controller.go - Welcome
    5. 路由 | 拷贝欢迎页面 ｜ 欢迎页/static引入

9.18【首页模块】登录拦截功能实现
	1. 登录跳转login.html 105H,
	2. main.go 验证拦截器 59H,
	3. utils - login_filter 登录过滤
    4. 区分路由，router.go 增加访问层级 /main/
    5. 页面修改路径
       1. login.html 105H,
       2. index.html 278H,

9.19【用户模块】用户列表页面完善
	1. 定义用户列表 controllers - user - user_controller.go
	2. 拷贝member-add.html等五个静态页面到 views - user - 修改成user-...
	3. 路由
    4. index.html 55H,
    5. user-list.html 修改引入/static
    6. login.html 105H
    7. index.html 278H

9.20【用户模块】用户列表动态数据渲染
	1. user-list.html 删除多余固定tr，优化展示信息：54H，
	2. user_controller.go orm数据库查询
	3. models - user 增加(启动/停用)字段
	4. user-list.html 64H(修改成变量获取),
*/

func init() {
	user := beego.AppConfig.DefaultString("mysql::Username", "root")
	pwd := beego.AppConfig.DefaultString("mysql::Password", "Ideal123")
	host := beego.AppConfig.DefaultString("mysql::Host", "127.0.0.1")
	port := beego.AppConfig.DefaultInt("mysql::Port", 3306)
	db := beego.AppConfig.DefaultString("mysql::DbName", "beegoProject")

	dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=true&loc=PRC",
		user, pwd, host, port, db)

	orm.RegisterDriver("mysql", orm.DRMySQL)
	orm.RegisterDataBase("default", "mysql", dsn)

}

func main() {
	orm.RunCommand()
	orm.Debug = true
	beego.BConfig.WebConfig.Session.SessionOn = true

	// 未登录请求拦截
	beego.InsertFilter("/main/*", beego.BeforeRouter, utils.LoginFilter)

	beego.Run()
}
